package com.llsydn.data.sp;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.llsydn.hello.R;

/**
 * @author lilinshen
 * @title SharedPreference存储
 * @description 请填写相关描述
 * @date 2018/9/25 9:25
 */
public class SpActivity extends AppCompatActivity {
    private EditText et_sp_key;
    private EditText et_sp_value;

    private SharedPreferences sp;

    /**
     * SP存储专门用来存储一些单一的小数据
     * 存储数据的类型:  boolean, float, int, long, String
     * 数据保存的路径:  /data/data/packageName/shared_prefs/yyy.xml
     * 可以设置数据只能是当前应用读取, 而别的应用不可以
     * 应用卸载时会删除此数据
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sp);
        //初始化子view
        et_sp_key = findViewById(R.id.et_sp_key);
        et_sp_value = findViewById(R.id.et_sp_value);

        //1.得到sp对象
        sp = getSharedPreferences("llsydn", Context.MODE_PRIVATE);
    }

    /**
     * 保存数据步骤：
     * 1.得到sp对象
     * 2.得到editor对象
     * 3.得到输入的key/value
     * 4.使用editor保存key-value，并提交
     */
    public void save(View view) {
        //2.得到editor对象
        SharedPreferences.Editor editor = sp.edit();
        //3.得到输入的key/value
        String key = et_sp_key.getText().toString();
        String value = et_sp_value.getText().toString();
        //4.使用editor保存key-value，并提交
        editor.putString(key, value).commit();
        //5.提示
        Toast.makeText(this, "保存完成！", Toast.LENGTH_SHORT).show();
    }

    /**
     * 读取数据步骤：
     * 1.得到输入的key
     * 2.根据key得到对应的value
     * 3.提示
     */
    public void read(View view) {
        String key = et_sp_key.getText().toString();
        String value = sp.getString(key, null);
        et_sp_value.setText(value);
    }

}
